\begin{problem}{Связанность графа}{edges.in}{edges.out}{1 секунда}{64 мегабайта}

Дан граф, содержащий $N$ вершин и $M$ ребёр ($1 \le N \le 1000, 1 \le M \le 7000$).
Требуется найти наименьшее число рёбер и эти рёбра, которые нужно добавить, 
чтобы граф стал связным.

\InputFile
Во входном файле записаны сначала числа $N$ и $M$, затем идёт описание рёбер графа~---
$M$ пар чисел, где каждая пара описывает начало и конец ребра.

\OutputFile
В первую строку вывести единственное число $K$~--- минимальное количество рёбер, которое нужно добавить.
В следующих $K$ строках выведите по 2 числа~--- начало и конец нового ребра.

\begin{example}
\exmp{
3 1
2 1
}{
1
1 3
}%
\end{example}

\end{problem}